---
id: 200
title: ModbusMatser
---


import useBaseUrl from "@docusaurus/useBaseUrl";
import Tag from "@site/src/components/Tag.js";
import Highlight from '@site/src/components/Highlight.js';


## 一、说明

ModbusMatser作为主站，主动采集Modbus从站协议的设备

插件支持modbusTcp/modbusRtu格式报文

通讯链路支持 TcpClient/TcpService(DTU)/串口/Udp

## 二、插件属性配置项

<img src={require("@site/static/img/docs/ModbusMaster.png").default} />

| 属性           |  说明                    | 备注|
| ---------------| --------------------------| ---|
| Modbus协议类型         | modbusTcp/modbusRtu格式报文           | |
| 默认站号         | 默认的mudbus站号id            | **变量可单独配置站号**   |
| 无交互2min时断开连接         |  没有发送/收到消息 ，2分钟后断开连接             | 仅适用于TcpService链路（DTU模式）|
| 心跳检测         |  大写16进制字符串，符合心跳内容会自动回应             | 仅适用于TcpService链路（DTU模式）|
| 读写超时时间         | 读写超时时间                | 3000|
| 连接超时时间         | 建立通讯链路的超时时间                | 3000|
| 发送延时时间         | 在发送请求前的延时时间               | 0|
| 组包缓存超时         | 返回分包时的分包间隔超时时间              | 1000 |
| 默认解析顺序         | 4个字节以上的数据解析，可设置为ABCD/BADC/CDBA/DCBA,默认ABCD , **变量可单独配置**|ABCD：Big-Endian<br></br>BADC：Big-Endian Byte Swap<br></br>CDAB：Little-Endian Byte Swap<br></br>DCBA：Little-Endian |
| 最大打包长度         | 打包长度，最大限值是125              | 100 |
| 离线重试间隔         | 设备检测到离线时，重新连接的间隔时间（秒）              | 30 |
| 失败重试次数         | 读取失败时，重试n次后判定变量为离线              | 3 |
| 最大并发数量         | ModbusTcp格式报文特有，ModbusTcp可并发采集              | 1 |

## 三、变量地址配置项

- 1、基本地址

Modbus PLC寄存器

| 地址           | 功能码         |  说明                    |
| ---------------| --------------|--------------------------|
| 4xxxxx         | 03            | 读取03功能码              |
| 3xxxxx         | 04            | 读取04功能码              |
| 1xxxxx         | 02            | 读取02功能码              |
| 0xxxxx         | 01            | 读取01功能码              |

- 2、站号(可选)

  当需要指定站号地址时可使用，举例：

| 地址           |   说明                    |
| ---------------| --------------------------|
| s=2;10001         |  读取02功能码 ,设备地址为2      |
| s=11;40001         |  读取03功能码 ,设备地址为11        |

- 3、写入功能码(可选)

  当需要指定16/15功能码时可使用，举例：

| 地址           |   说明                    |
| ---------------| --------------------------|
| w=15;10001         |  读取02功能码 ,写入15功能码      |
| w=16;40001         |  读取03功能码 ,写入16功能码        |

- 4、Dtu注册(可选)

  当需要指定Dtu客户端可使用，举例：

| 地址           |   说明                    |
| ---------------| --------------------------|
| id=12;40001         |  读取03功能码 ,设备地址为默认，Dtu注册包为"12",注意是UTF8格式        |

